// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database()
const _ = db.command

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  if(event.tag == 'getOpenId'){
    return wxContext.OPENID
  }
 
  if (event.tag == 'gengxin') {
    return await db.collection('user')
      .where({
        _openid: wxContext.OPENID,
      }).update({
        data: {
          _updateTime: event._updateTime
        }
      }).then(res => {
        return res.data
      })
  }
  //  查询当日访问人数
  if (event.tag == 'fangwenrenshu') {
    return await db.collection('user')
      .where({
        _updateTime: event._updateTime
      })
      .count()
      .then(res => {
        return res.total
      })
      .catch(err => {
        return err.data
      })
  }
  //  查询用户
  if (event.tag == 'selecteUser') {
    let _updateTime = event._updateTime
    return await db.collection('user')
      .where({
        _openid: wxContext.OPENID,
      })
      .get()
      .then(res => {
        if (res.data.length == 1) {
          // 注册过  去更新时间 
          db.collection('user')
            .where({
              _openid: wxContext.OPENID,
            }).update({
              data: {
                _updateTime: _updateTime
              }
            })
        }
        return res.data
      })
      .catch(err => {
        return err
      })
  }
  // 注册用户
  if (event.tag == 'zhuceUser') {
    return await db.collection('user')
      .add({
        data: {
          avatarUrl: event.avatarUrl,
          city: event.city,
          gender: event.gender,
          nickName: event.nickName,
          province: event.province,
          shangjiOpenId: event.shangjiOpenId,
          createTime: event.createTime,
          _updateTime: event._updateTime,
          status: true,
          _openid: wxContext.OPENID,
          jinbiNum: event.jinbiNum_zhuce
        }
      })
      .then(res => {
      
        return wxContext.OPENID
      })
  }
  // 添加积分操作
  if (event.tag == 'addJinbi') {
    return await db.collection('user').where({
        _openid: wxContext.OPENID
      })
      .update({
        data: {
          jinbiNum: _.inc(event.zhi)
        }
      })
      .then(res => {
        return res
      })
  }
  // 减去积分操作
  if (event.tag == 'subjinbi') {
    return await db.collection('user').where({
        _openid: wxContext.OPENID
      })
      .update({
        data: {
          jinbiNum: _.inc(event.zhi)
        }
      })
      .then(res => {
        return res
      })
  }

  // return {
  //   event,
  //   openid: wxContext.OPENID,
  //   appid: wxContext.APPID,
  //   unionid: wxContext.UNIONID,
  // }
}